In the field of information communication through networks, systems in which data, etc., are exchanged by using XML formats are becoming prevalent. Ordinarily, not a single XML document format but a plurality of XML document formats exist as the format of XML documents exchanged as business data, etc., between companies. For example, with respect to a leasing contract system, formats for a quotation request, a contract document, a request item inquiry, etc., are conceivable.
In XML, a format is designated by using a DTD. More specifically, DTD files such as a quotation DTD and a contract DTD are respectively prepared for formats. Although it is technically possible to write a plurality of formats by one DTD but in actuality different DTDs are ordinarily used for a plurality of formats.
In some case, there is a need to recognize the format of an XML document by identifying a DTD to which the XML document matches. For example, in a case where processing according to the contents of a transferred XML document is performed on the XML document, a key for an electronic signature is used according to the format. In such a case, if a DTD has been explicitly designated for the XML document to be processed, it is apparent that the DTD to which the XML document matches can be identified. However, if no explicit designation has been made, processing for actually verifying the XML document with respect to DTDs is required.
In some case, no DTD is designated for XML document. For example, no DTD can be designated in a situation described below. In recent years, system construction through Web services has been spotlighted and such Web services use a simple object access protocol (SOAP) for exchange of XML documents. The SOAP specification functions as an envelop containing an XML document. That is, an XML document is transferred by being wrapped in a SOAP envelop in accordance with a SOAP. A SOAP uses not a DTD but an XML schema as a structure type definition (schema). Therefore, even if an XML document contained in a SOAP envelop matches a predetermined DTD, it is not possible to designate the DTD for the XML document by DOCTYPE declaration. Also in the case of an XML document with an electronic signature, a DTD cannot be designated for the XML document due to the same mechanism.
As described above, if there is a need to identify a DTD for an XML document, and if no DTD is explicitly designated for the XML document to be processed, processing for actually verifying the XML document with respect to DTDs is required to identify a DTD for the XML document.
In the case of an XML document processed in accordance with a SOAP or by processing with an electronic signature, a DTD for this XML document cannot be designated by DOCTYPE declaration. Therefore, processing for actually verifying the XML document with respect to DTDs is also required to identify a DTD for the XML document. In this case, to enable identification of the DTD for the XML document in a processed state, the DTD for the XML document may be described in a SOAP header or the like. However, there is no standard method for designating a DTD.
As described, it is necessary in some case to perform processing for verification with respect to DTDs for recognition of the format of an XML document to be processed. In a case where an XML document to be processed has a multiplicity of formats, however, a process for verifying the XML document with respect to all DTDs is troublesome and time-consuming. The same problem is also encountered with a structure type definition (e.g., the above-mentioned XML schema) other than DTDs.